import axios from "axios"
import {nanoid} from 'nanoid'
//准备state-用于存储数据
const state = {
    personList:[
        {
            id:'001',
            name:'aurora'
        }
    ]
}
//准备mutations-用于操作数据（state）
const mutations = {
    ADD_PERSON(context, value){
        context.personList.unshift(value)
    }
}
//准备actions-用于响应组件中的动作
const actions = {
    //添加一个姓王的人
    addPersonWang(context, value){
        if(value.name.indexOf('王') === 0){
            context.state.personList.unshift(value)
        }else{
            alert('添加的人必须姓王')
        }
    },
    //发送请求（模拟与后端接口的交互）
    getMsgFromServer(context){
        axios.get('/api/java/zip/hello').then(
            response => {
                context.commit('ADD_PERSON', {id:nanoid(), name: response.data})
            },
            error => {
                alert(error.message)
            }
        )
    }
}
//准备getters-用于将state中的数据进行加工
const getters = {
    firstPersonName(state){
        return state.personList[0].name
    }
}
export default{
    namespaced: true,
    state,
    mutations,
    actions,
    getters
}

